package lx3;

/*
          同时开启两个线程，共同获取1-100之间的所有数字。
          要求：将输出所有的奇数。
       */
public class MyRunable implements Runnable {
    //采用第二种方式实现多线程 不需要加上static修饰 因为创建的线程对象是MyRunable的实例对象，而实例对象是唯一的
    int number = 1;

    @Override
    public void run() {
        //1.循环
        while (true) {

            //2.同步代码块
            synchronized (MyRunable.class) {
                //3.判断共享数据（已经到末尾）
                if (number > 100) {
                    break;
                } else {
                    //4.判断共享数据（还没有到末尾）
                    if (number % 2 == 1) {
                        System.out.println(Thread.currentThread().getName() + "打印数字" + number);

                    }
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        throw new RuntimeException(e);
                    }
                    number++;
                }
            }
        }

    }
}
